The designers of digital systems are often led to provide for multiple sources of supply for essential components such as microprocessors, microcontrollers, or memories, in order to be able to adapt to the best economic or technological conditions of the moment. Unfortunately, it often happens that components from different sources but that perform the same functions have control inputs of different polarity, e.g. for interrupts.
The term "polarity" is used to designate an arbitrary function that relates a binary value to an electrical level. For example, in circuits that are powered between 0 volts and 5 volts, positive polarity would cause binary level 0 to correspond to a zero voltage level and binary value 1 to corresponding to a voltage level equal to 5 volts; negative polarity would cause binary value 0 to corresponding to a voltage level equal to 5 volts and binary value 1 to a voltage level of zero.
A problem arises when there is a need to connect a first integrated circuit designed to issue data on an output pin, in particular a control signal such as an interrupt request, to a second integrated circuit that may come from different sources and that may thus require either positive polarity or else negative polarity on its input pin that is designed to receive said data. Under such circumstances, it is inconceivable to provide a connection between the circuits without setting polarity.
A first solution consists in providing a signal on an input of the "issuing" first circuit that indicates which polarity is required by the "receiving" second circuit, which signal is combined with the data to be transmitted in order to generate the output signal. However, that solution suffers from the drawback of requiring an additional pin on the circuit concerned and that is hardly conceivable on circuits contained in standardized packages. Even worse, it may happen that a plurality of signals from a given "issuing" first circuit require separate polarity settings. Implementing the above solution would then require a plurality of additional pins to be provided.
A second solution consists in programming a signal indicative of the required polarity inside the first circuit after it has received said signal via an external bus by means of a polarity setting member. The second solution suffers from the drawback of requiring a setting member that is either external or internal to the first circuit. In addition, if the output signal has an influence on the operation of the setting member, as is the case, for example, when the output signal is an interrupt signal, then such a software solution becomes particularly difficult to implement. Furthermore, the problem of determining polarity is not eliminated but is merely displaced to the setting member.
U.S. Pat. No. 4,940,904 is also known, and describes an output circuit for producing pulses that are positive or negative. That relatively complex circuit makes use of a clock signal. It is designed in such a way that the output pulse is delayed relative to the input pulse and the shape of said output pulse depends directly on the shape of the clock signal. The solution implemented consists in producing the two possible forms of the output signal in succession such that one or the other of them is taken into account by the receiving circuit depending on whether it has positive or negative polarity. No genuine setting is provided of the polarity of the output signal.